package com.annotation;

import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;

import java.lang.annotation.*;

/**
 * excel列表导出注解;
 * 基于 easypoi 4.4.0
 * eg:
 *     @ExcelResponse(dataTarget = User.class,downloadName = "大数据测试")
 *     @GetMapping("/export")
 *     public List<User> export() {
 *         return testMapper.selectList(Wrappers.emptyWrapper());
 *     }
 * @author xiaoshu
 */
@Documented
@Inherited
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelResponse {

    /**
     * 文件名称
     * @return string
     */
    String headName() default "";

    /**
     * 文件名称
     * @return string
     */
    String downloadName() default "";

    /**
     * sheet名称
     * @return string
     */
    String sheetName() default "Sheet1";

    /**
     * 文件类型 （xlsx xls）
     * @return string
     */
    ExcelType suffix() default ExcelType.XSSF;

    /**
     * 数据目标类型
     * @return Class
     */
    Class dataTarget();

}
